/**
 *                            License
 * THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS  
 * CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). 
 * THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW.  
 * ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR  
 * COPYRIGHT LAW IS PROHIBITED.
 * 
 * BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND  
 * AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE  
 * MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED 
 * HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
 * 
 */
package l1j.server.server.model.map;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.Logger;

import l1j.server.server.datatables.MapsTable;
import l1j.server.server.utils.FileUtil;
import l1j.server.server.utils.collections.Lists;
import l1j.server.server.utils.collections.Maps;

/**
 * 地图 (maps/\d*.txt)读取
 */
public class TextMapReader extends MapReader {

	/** 纪录用 */
	private static Logger _log = Logger.getLogger(TextMapReader.class.getName());

	/** 地图的路径 */
	private static final String MAP_DIR = "./maps/";

	/** MAP_INFO 中编号的位置 */
	public static final int MAPINFO_MAP_NO = 0;

	/** MAP_INFO 开始X座标的位置 */
	public static final int MAPINFO_START_X = 1;

	/** MAP_INFO 结束X座标的位置 */
	public static final int MAPINFO_END_X = 2;

	/** MAP_INFO 开始Y座标的位置 */
	public static final int MAPINFO_START_Y = 3;

	/** MAP_INFO 结束Y座标的位置 */
	public static final int MAPINFO_END_Y = 4;

	/**
	 * mapInfo：地图编号、地图构成大小. 格式为 {mapNo,StartX,EndX,StartY,EndY}
	 */
	private static final int[][] MAP_INFO = { //
	{ 0, 32256, 32767, 32768, 33279 }, // 说话之岛
			{ 1, 32576, 32831, 32704, 32959 }, // 冒险洞窟1层
			{ 2, 32576, 32895, 32704, 32959 }, // 冒险洞窟2层
			{ 3, 32576, 32831, 32704, 32959 }, // 甘特之家
			{ 4, 32448, 34303, 32064, 33599 }, // 整个大陆
			{ 5, 32704, 32767, 32768, 32831 }, // 去往古鲁丁的船
			{ 6, 32704, 32831, 32768, 32831 }, // 去往说话之岛的船
			{ 7, 32640, 32895, 32640, 32895 }, // 古鲁丁地监1层
			{ 8, 32640, 32895, 32640, 32895 }, // 古鲁丁地监2层
			{ 9, 32640, 32895, 32640, 32895 }, // 古鲁丁地监3层
			{ 10, 32640, 32831, 32640, 32895 }, // 古鲁丁地监4层
			{ 11, 32640, 32895, 32640, 32895 }, // 古鲁丁地监5层
			{ 12, 32640, 32895, 32640, 32895 }, // 古鲁丁地监6层
			{ 13, 32640, 32895, 32640, 32895 }, // 古鲁丁地监7层
			{ 14, 32512, 33023, 32704, 32895 }, // 海底隧道
			{ 15, 32704, 32767, 32768, 32831 }, // 肯特内城
			{ 16, 32704, 32831, 32704, 32895 }, // 海拉的研究所
			{ 17, 32704, 32767, 32768, 32831 }, // 娜鲁帕洞穴
			{ 18, 32704, 32767, 32768, 32831 }, // 都佩杰诺地监
			{ 19, 32704, 32895, 32640, 32895 }, // 妖精森林地监1层
			{ 20, 32704, 32831, 32704, 32831 }, // 妖精森林地监2层
			{ 21, 32640, 32831, 32704, 32895 }, // 妖精森林地监3层
			{ 22, 32640, 32895, 32640, 32895 }, // 杰瑞德的试炼地监
			{ 23, 32640, 32895, 32640, 32895 }, // 风木城地监1楼
			{ 24, 32640, 32895, 32640, 32895 }, // 风木城地监2楼
			{ 25, 32704, 32895, 32704, 32831 }, // 骑士洞穴1层
			{ 26, 32704, 32895, 32640, 32895 }, // 骑士洞穴2层
			{ 27, 32640, 32895, 32704, 32895 }, // 骑士洞穴3层
			{ 28, 32640, 32895, 32704, 32895 }, // 骑士洞穴4层
			{ 29, 32704, 32767, 32768, 32831 }, // 风木内城
			{ 30, 32640, 32895, 32640, 32895 }, // 龙之谷地监1层
			{ 31, 32640, 32895, 32640, 32895 }, // 龙之谷地监2层
			{ 32, 32576, 32831, 32704, 32959 }, // 龙之谷地监3层
			{ 33, 32576, 32831, 32704, 32959 }, // 龙之谷地监4层
			{ 34, 32640, 32831, 32704, 32895 }, // Hall of Honor
			{ 35, 32576, 32831, 32704, 32959 }, // 龙之谷地监5层
			{ 36, 32576, 32831, 32704, 32959 }, // 龙之谷地监6层
			{ 37, 32576, 32831, 32704, 32959 }, // 安塔瑞斯巢穴
			{ 38, 32640, 32831, 32704, 32895 }, // Hall of Honor
			{ 39, 32640, 32831, 32704, 32895 }, // Hall of Honor
			{ 40, 32640, 32831, 32704, 32895 }, // Hall of Honor
			{ 41, 32640, 32831, 32704, 32895 }, // Hall of Honor
			{ 42, 32512, 32831, 32704, 33023 }, // 新增未知-----
			{ 43, 32704, 32831, 32704, 32831 }, // 蚂蚁洞穴
			{ 44, 32704, 32831, 32704, 32831 }, // 蚂蚁洞穴
			{ 45, 32704, 32831, 32704, 32831 }, // 蚂蚁洞穴
			{ 46, 32704, 32831, 32704, 32831 }, // 蚂蚁洞穴
			{ 47, 32704, 32831, 32704, 32831 }, // 蚂蚁洞穴
			{ 48, 32704, 32831, 32704, 32831 }, // 蚂蚁洞穴
			{ 49, 32704, 32831, 32704, 32831 }, // 蚂蚁洞穴
			{ 50, 32704, 32831, 32704, 32831 }, // 蚂蚁洞穴
			{ 51, 32640, 32831, 32704, 32895 }, // 蚂蚁洞穴
			{ 52, 32640, 32767, 32768, 32895 }, // 奇岩内城
			{ 53, 32640, 32895, 32640, 32895 }, // 奇岩地监 1层
			{ 54, 32640, 32895, 32640, 32895 }, // 奇岩地监 2层
			{ 55, 32640, 32831, 32704, 32959 }, // 奇岩地监 3层
			{ 56, 32640, 32895, 32640, 32895 }, // 奇岩地监 4层
			{ 57, 32576, 33023, 32512, 32959 }, // 伊斯努特之岛
			{ 58, 32512, 32831, 32704, 33023 }, // 隐藏之谷
			{ 59, 32640, 32831, 32768, 32895 }, // 伊娃王国地监1层
			{ 60, 32640, 32767, 32768, 32959 }, // 伊娃王国地监2层
			{ 61, 32640, 32767, 32768, 32895 }, // 伊娃王国地监3层
			{ 62, 32640, 32767, 32768, 32895 }, // 伊娃圣殿
			{ 63, 32576, 32895, 32640, 32959 }, // 伊娃王国
			{ 64, 32512, 32639, 32768, 32895 }, // 海音内城
			{ 65, 32704, 32831, 32768, 32895 }, // 法利昂巢穴
			{ 66, 32704, 32895, 32768, 32959 }, // 侏儒洞穴
			{ 67, 32640, 32831, 32704, 32895 }, // 巴拉卡斯巢穴
			{ 68, 32576, 33023, 32512, 32959 }, // 歌唱之岛
			{ 69, 32512, 32831, 32704, 33023 }, // 隐藏之谷
			{ 70, 32576, 33023, 32640, 33087 }, // 遗忘之岛
			{ 72, 32704, 32895, 32768, 32895 }, // 水晶洞穴 B1
			{ 73, 32704, 32959, 32704, 32959 }, // 冰女王之城 B2
			{ 74, 32704, 32895, 32768, 32959 }, // 冰女王之城 B3
			{ 75, 32704, 32831, 32768, 32959 }, // 欧瑞 象牙塔1层
			{ 76, 32704, 32831, 32768, 32895 }, // 欧瑞 象牙塔2层
			{ 77, 32704, 32831, 32768, 32895 }, // 欧瑞 象牙塔3层
			{ 78, 32832, 32959, 32704, 32831 }, // 欧瑞 象牙塔4层
			{ 79, 32704, 32831, 32768, 32895 }, // 欧瑞 象牙塔5层
			{ 80, 32704, 32831, 32768, 32895 }, // 欧瑞 象牙塔6层
			{ 81, 32704, 32831, 32768, 32895 }, // 欧瑞 象牙塔7层
			{ 82, 32640, 32767, 32768, 32895 }, // 欧瑞 象牙塔8层
			{ 83, 32704, 32831, 32768, 32831 }, // 去往遗忘之岛的船
			{ 84, 32704, 32767, 32768, 32831 }, // 去往海音的船
			{ 85, 32512, 32831, 32640, 32959 }, // 歌唱之岛地监
			{ 86, 32768, 33023, 32704, 32895 }, // 隐藏之谷地监
			{ 87, 32704, 32767, 32768, 32831 }, // 帕古洞穴
			{ 88, 33472, 33599, 32640, 32767 }, // 奇岩竞技场
			{ 89, 32640, 32767, 32832, 32959 }, // 奇岩竞技场
			{ 90, 32640, 32767, 32832, 32959 }, // 奇岩竞技场
			{ 91, 32640, 32767, 32832, 32959 }, // 说话之岛竞技场
			{ 92, 32640, 32767, 32832, 32959 }, // 古鲁丁竞技场
			{ 93, 32640, 32767, 32832, 32959 }, // 肯特竞技场
			{ 94, 32640, 32767, 32832, 32959 }, // 风木竞技场
			{ 95, 32640, 32767, 32832, 32959 }, // 银骑士竞技场
			{ 96, 32640, 32767, 32832, 32959 }, // 巴拉卡斯巢穴竞技场
			{ 97, 32640, 32767, 32832, 32959 }, // 海音竞技场
			{ 98, 32640, 32767, 32832, 32959 }, // 威顿竞技场
			{ 99, 32704, 32767, 32768, 32831 }, // 管理者房间
			{ 100, 32704, 32831, 32768, 32895 }, // 新增未知-----
			{ 101, 32704, 32895, 32704, 32895 }, // 傲慢之塔1楼
			{ 102, 32704, 32895, 32704, 32895 }, // 傲慢之塔2楼
			{ 103, 32704, 32895, 32704, 32895 }, // 傲慢之塔3楼
			{ 104, 32576, 32767, 32768, 32959 }, // 傲慢之塔4楼
			{ 105, 32576, 32767, 32768, 32959 }, // 傲慢之塔5楼
			{ 106, 32576, 33855, 32768, 32959 }, // 傲慢之塔6楼
			{ 107, 32576, 32767, 32768, 32959 }, // 傲慢之塔7楼
			{ 108, 32576, 32767, 32768, 32959 }, // 傲慢之塔8楼
			{ 109, 32576, 32767, 32768, 32959 }, // 傲慢之塔9楼
			{ 110, 32704, 32895, 32704, 32895 }, // 傲慢之塔10楼
			{ 111, 32576, 32767, 32768, 32959 }, // 傲慢之塔11楼
			{ 112, 32704, 32895, 32704, 32895 }, // 傲慢之塔12楼
			{ 113, 32704, 32895, 32704, 32895 }, // 傲慢之塔13楼
			{ 114, 32576, 32767, 32768, 32959 }, // 傲慢之塔14楼
			{ 115, 32576, 32767, 32768, 32959 }, // 傲慢之塔15楼
			{ 116, 32704, 32831, 32832, 32895 }, // 傲慢之塔16楼
			{ 117, 32576, 32767, 32768, 32959 }, // 傲慢之塔17楼
			{ 118, 32576, 32767, 32768, 32959 }, // 傲慢之塔18楼
			{ 119, 32576, 32767, 32768, 32959 }, // 傲慢之塔19楼
			{ 120, 32704, 32895, 32704, 32895 }, // 傲慢之塔20楼
			{ 121, 32576, 32767, 32768, 32959 }, // 傲慢之塔21楼
			{ 122, 32704, 32895, 32704, 32895 }, // 傲慢之塔22楼
			{ 123, 32704, 32895, 32704, 32895 }, // 傲慢之塔23楼
			{ 124, 32576, 32767, 32768, 32959 }, // 傲慢之塔24楼
			{ 125, 32576, 32767, 32768, 32959 }, // 傲慢之塔25楼
			{ 126, 32704, 32831, 32832, 32895 }, // 傲慢之塔26楼
			{ 127, 32576, 32767, 32768, 32959 }, // 傲慢之塔27楼
			{ 128, 32576, 32767, 32768, 32959 }, // 傲慢之塔28楼
			{ 129, 32576, 32767, 32768, 32959 }, // 傲慢之塔29楼
			{ 130, 32704, 32895, 32704, 32895 }, // 傲慢之塔30楼
			{ 131, 32576, 32767, 32768, 32959 }, // 傲慢之塔31楼
			{ 132, 32704, 32895, 32704, 32895 }, // 傲慢之塔32楼
			{ 133, 32704, 32895, 32704, 32895 }, // 傲慢之塔33楼
			{ 134, 32576, 32767, 32768, 32959 }, // 傲慢之塔34楼
			{ 135, 32576, 32767, 32768, 32959 }, // 傲慢之塔35楼
			{ 136, 32704, 32831, 32832, 32895 }, // 傲慢之塔36楼
			{ 137, 32576, 32767, 32768, 32959 }, // 傲慢之塔37楼
			{ 138, 32576, 32767, 32768, 32959 }, // 傲慢之塔38楼
			{ 139, 32576, 32767, 32768, 32959 }, // 傲慢之塔39楼
			{ 140, 32704, 32895, 32704, 32895 }, // 傲慢之塔40楼
			{ 141, 32576, 32767, 32768, 32959 }, // 傲慢之塔41楼
			{ 142, 32704, 32895, 32704, 32895 }, // 傲慢之塔42楼
			{ 143, 32704, 32895, 32704, 32895 }, // 傲慢之塔43楼
			{ 144, 32576, 32767, 32768, 32959 }, // 傲慢之塔44楼
			{ 145, 32576, 32767, 32768, 32959 }, // 傲慢之塔45楼
			{ 146, 32576, 32831, 32768, 32959 }, // 傲慢之塔46楼
			{ 147, 32576, 32767, 32768, 32959 }, // 傲慢之塔47楼
			{ 148, 32576, 32767, 32768, 32959 }, // 傲慢之塔48楼
			{ 149, 32576, 32767, 32768, 32959 }, // 傲慢之塔49楼
			{ 150, 32704, 32895, 32704, 32895 }, // 傲慢之塔50楼
			{ 151, 32576, 32767, 32768, 32959 }, // 傲慢之塔51楼
			{ 152, 32576, 32767, 32768, 32959 }, // 傲慢之塔52楼
			{ 153, 32576, 32767, 32768, 32959 }, // 傲慢之塔53楼
			{ 154, 32704, 32895, 32704, 32895 }, // 傲慢之塔54楼
			{ 155, 32704, 32895, 32704, 32895 }, // 傲慢之塔55楼
			{ 156, 32704, 32831, 32768, 32831 }, // 傲慢之塔56楼
			{ 157, 32576, 32767, 32768, 32959 }, // 傲慢之塔57楼
			{ 158, 32576, 32767, 32768, 32959 }, // 傲慢之塔58楼
			{ 159, 32576, 32767, 32768, 32959 }, // 傲慢之塔59楼
			{ 160, 32576, 32767, 32768, 32959 }, // 傲慢之塔60楼
			{ 161, 32576, 32767, 32768, 32959 }, // 傲慢之塔61楼
			{ 162, 32576, 32767, 32768, 32959 }, // 傲慢之塔62楼
			{ 163, 32576, 32767, 32768, 32959 }, // 傲慢之塔63楼
			{ 164, 32704, 32895, 32704, 32895 }, // 傲慢之塔64楼
			{ 165, 32704, 32895, 32704, 32895 }, // 傲慢之塔65楼
			{ 166, 32704, 32831, 32768, 32831 }, // 傲慢之塔66楼
			{ 167, 32576, 32767, 32768, 32959 }, // 傲慢之塔67楼
			{ 168, 32576, 32767, 32768, 32959 }, // 傲慢之塔68楼
			{ 169, 32576, 32767, 32768, 32959 }, // 傲慢之塔69楼
			{ 170, 32576, 32767, 32768, 32959 }, // 傲慢之塔70楼
			{ 171, 32576, 32767, 32768, 32959 }, // 傲慢之塔71楼
			{ 172, 32576, 32767, 32768, 32959 }, // 傲慢之塔72楼
			{ 173, 32576, 32767, 32768, 32959 }, // 傲慢之塔73楼
			{ 174, 32704, 32895, 32704, 32895 }, // 傲慢之塔74楼
			{ 175, 32704, 32895, 32704, 32895 }, // 傲慢之塔75楼
			{ 176, 32704, 32831, 32768, 32831 }, // 傲慢之塔76楼
			{ 177, 32576, 32767, 32768, 32959 }, // 傲慢之塔77楼
			{ 178, 32576, 32767, 32768, 32959 }, // 傲慢之塔78楼
			{ 179, 32576, 32767, 32768, 32959 }, // 傲慢之塔79楼
			{ 180, 32576, 32767, 32768, 32959 }, // 傲慢之塔80楼
			{ 181, 32576, 32767, 32768, 32959 }, // 傲慢之塔81楼
			{ 182, 32576, 32767, 32768, 32959 }, // 傲慢之塔82楼
			{ 183, 32576, 32767, 32768, 32959 }, // 傲慢之塔83楼
			{ 184, 32704, 32895, 32704, 32895 }, // 傲慢之塔84楼
			{ 185, 32704, 32895, 32704, 32895 }, // 傲慢之塔85楼
			{ 186, 32704, 32831, 32768, 32831 }, // 傲慢之塔86楼
			{ 187, 32576, 32767, 32768, 32959 }, // 傲慢之塔87楼
			{ 188, 32576, 32767, 32768, 32959 }, // 傲慢之塔88楼
			{ 189, 32576, 32767, 32768, 32959 }, // 傲慢之塔89楼
			{ 190, 32576, 32767, 32768, 32959 }, // 傲慢之塔90楼
			{ 191, 32576, 32767, 32768, 32959 }, // 傲慢之塔91楼
			{ 192, 32576, 32767, 32768, 32959 }, // 傲慢之塔92楼
			{ 193, 32576, 32767, 32768, 32959 }, // 傲慢之塔93楼
			{ 194, 32704, 32895, 32704, 32895 }, // 傲慢之塔94楼
			{ 195, 32704, 32895, 32704, 32895 }, // 傲慢之塔95楼
			{ 196, 32704, 32831, 32768, 32831 }, // 傲慢之塔96楼
			{ 197, 32576, 32767, 32768, 32959 }, // 傲慢之塔97楼
			{ 198, 32576, 32767, 32768, 32959 }, // 傲慢之塔98楼
			{ 199, 32576, 32767, 32768, 32959 }, // 傲慢之塔99楼
			{ 200, 32576, 32831, 32768, 33023 }, // 傲慢之塔100楼
			{ 201, 32640, 33535, 32704, 32959 }, // 法师试练地监
			{ 202, 32640, 33535, 32704, 32895 }, // 法师试练地监
			{ 203, 32640, 33535, 32704, 32895 }, // 法师试练地监
			{ 204, 32640, 33535, 32704, 32895 }, // 法师试练地监
			{ 205, 32640, 33535, 32704, 32895 }, // Unknown
			{ 206, 32640, 33535, 32704, 32895 }, // Unknown
			{ 207, 32640, 33535, 32704, 32895 }, // Unknown
			{ 208, 32640, 33535, 32704, 32895 }, // Unknown
			{ 209, 32704, 32767, 32768, 32831 }, // 黑暗妖精地监
			{ 210, 32640, 33535, 32704, 32895 }, // 黑暗妖精地监
			{ 211, 32640, 33535, 32704, 32895 }, // 黑暗妖精地监
			{ 213, 32704, 32767, 32768, 32831 }, // 黑暗妖精地监
			// 214 黑暗妖精地监
			// 215 黑暗妖精地监
			// 216 黑暗妖精地监
			{ 217, 32640, 32767, 32768, 32831 }, // 变种巨蚁地监
			// 218 变种巨蚁地监
			{ 221, 32640, 32895, 32640, 32895 }, // 杰瑞德的试炼地监
			// 杰瑞德的试炼地监 222
			// 杰瑞德的试炼地监 223
			// 杰瑞德的试炼地监 224
			// 杰瑞德的试炼地监 225
			// 杰瑞德的试炼地监 226
			// 杰瑞德的试炼地监 227
			// 杰瑞德的试炼地监 228
			{ 237, 32704, 32767, 32768, 32831 }, // 吉姆的密室
			{ 240, 32640, 32767, 33024, 33151 }, // 肯特城地监1层
			{ 241, 32704, 32831, 32832, 32959 }, // 肯特城地监2层
			{ 242, 32704, 32831, 32896, 33087 }, // 肯特城地监3层
			{ 243, 32640, 32767, 32832, 33023 }, // 肯特城地监 4层
			{ 244, 32704, 33023, 32768, 33087 }, // 污浊之地
			{ 248, 32704, 32831, 32768, 32895 }, // 隐藏的地下宫殿 1楼
			{ 249, 32704, 32831, 32832, 32895 }, // 隐藏的地下宫殿 2楼
			{ 250, 32704, 32831, 32768, 32895 }, // 隐藏的地下宫殿 3楼
			{ 251, 32768, 32831, 32768, 32831 }, // 隐藏的地下宫殿 4楼
			{ 252, 32576, 32767, 32832, 32895 }, // 海音地下监狱
			{ 253, 32704, 32831, 32832, 33023 }, // 伊娃王国
			{ 254, 32576, 32767, 32768, 32959 }, // 巴贝多的隐身处
			{ 255, 32640, 32831, 32768, 32895 }, // 废弃的矿坑
			{ 256, 32640, 32895, 32768, 33023 }, // 废弃的矿坑古道
			{ 257, 32640, 32831, 32768, 32895 }, // 亚丁地下墓穴 1层
			{ 258, 32576, 32831, 32768, 33151 }, // 亚丁地下墓穴 2层-4层
			{ 259, 32704, 32767, 32768, 33023 }, // 亚丁地下墓穴 3层
			{ 300, 32832, 32959, 32448, 32639 }, // 亚丁内城
			{ 301, 32576, 32767, 32768, 33023 }, // 傲慢之塔地下水路
			{ 302, 32704, 32767, 32832, 32895 }, // 赛菲亚地监
			{ 303, 32576, 32959, 32512, 32895 }, // 梦幻之岛
			{ 304, 32576, 32959, 32768, 33023 }, // 沉默洞穴
			{ 305, 32704, 32767, 32768, 32831 }, // 布鲁迪卡洞穴
			{ 306, 32512, 32767, 32768, 32959 }, // 黑暗妖精试练地监
			{ 307, 32704, 32959, 32768, 32959 }, // 拉斯塔巴德地下洞穴 1层
			{ 308, 32704, 33023, 32768, 32959 }, // 拉斯塔巴德地下洞穴 2层
			{ 309, 32704, 33087, 32768, 32959 }, // 拉斯塔巴德地下洞穴 3层
			{ 310, 32640, 32895, 32768, 33023 }, // 欧姆地监
			{ 320, 32640, 33087, 32768, 33087 }, // 狄亚得要塞
			{ 330, 32640, 32831, 32768, 33023 }, // 矿物洞穴
			{ 340, 32640, 32895, 32704, 32959 }, // 古鲁丁市场
			{ 350, 32640, 32767, 32768, 32895 }, // 奇岩市场
			{ 360, 32640, 32831, 32704, 32895 }, // 欧瑞市场
			{ 370, 32640, 32831, 32704, 32895 }, // 银骑士村庄市场
			{ 400, 32448, 33087, 32576, 33087 }, // 大洞穴隐遁者村庄地区
			{ 401, 32704, 32895, 32768, 32895 }, // 大洞穴隐遁者地区 -连结- 隐遁地北方废墟
			{ 410, 32640, 32959, 32704, 33087 }, // 魔族神殿
			{ 420, 32640, 32831, 32832, 33151 }, // 地底湖
			{ 430, 32640, 33023, 32704, 33087 }, // 精灵墓穴
			{ 440, 32256, 32767, 32768, 33279 }, // 海贼岛
			{ 441, 32640, 32895, 32704, 32959 }, // 海贼岛地监 1层
			{ 442, 32704, 32895, 32704, 32895 }, // 海贼岛地监 2层
			{ 443, 32640, 32895, 32640, 32959 }, // 海贼岛地监 3层
			{ 444, 32704, 32767, 32768, 32831 }, // 海贼岛地监 4层
			{ 445, 32704, 32831, 32832, 32895 }, // 隐藏之港
			{ 446, 32704, 32831, 32768, 32831 }, // 去往隐藏之港的船
			{ 447, 32704, 32767, 32768, 32831 }, // 去往海贼岛的船
			{ 450, 32576, 32831, 32768, 32959 }, // 拉斯塔巴德正门
			{ 451, 32704, 32895, 32704, 32895 }, // 1层 集会场
			{ 452, 32704, 32831, 32768, 32895 }, // 1楼 突击队训练场
			{ 453, 32704, 32895, 32704, 32895 }, // 1楼 魔兽君王之室
			{ 454, 32704, 32895, 32704, 32895 }, // 1楼 魔兽调教场
			{ 455, 32704, 32895, 32768, 32895 }, // 1楼 魔兽训练场
			{ 456, 32704, 32831, 32768, 32895 }, // 1楼 魔兽召唤室
			{ 457, 32640, 32767, 32768, 32895 }, // 1楼 黑暗结界
			{ 460, 32704, 32895, 32768, 32895 }, // 2楼 黑魔法修练场
			{ 461, 32640, 32895, 32768, 32895 }, // 2楼 黑魔法研究室
			{ 462, 32640, 32895, 32768, 32895 }, // 2楼 法令军王之室
			{ 463, 32704, 32831, 32768, 32895 }, // 2楼 法令军王的书房
			{ 464, 32704, 32831, 32768, 32895 }, // 2楼 暗黑精灵召唤室
			{ 465, 32704, 32831, 32768, 32895 }, // 2楼 暗黑精灵栖息地
			{ 466, 32704, 32831, 32768, 32895 }, // 2楼 暗黑精灵研究室
			{ 467, 32640, 32767, 32768, 32895 }, // 2楼 黑暗结界
			{ 468, 32576, 32703, 32832, 32959 }, // 2楼 黑暗结界
			{ 470, 32640, 32895, 32768, 32895 }, // 3楼 恶灵祭坛
			{ 471, 32704, 32831, 32768, 32895 }, // 3楼 恶灵之主祭坛
			{ 472, 32640, 32831, 32704, 32895 }, // 3楼 佣兵训练场
			{ 473, 32704, 32959, 32768, 32895 }, // 3楼 冥法军训练场
			{ 474, 32704, 32831, 32768, 32895 }, // 3楼 欧姆实验室
			{ 475, 32640, 32831, 32768, 32895 }, // 3楼 冥法军王之室
			{ 476, 32704, 32831, 32704, 32895 }, // 3楼 中央控制室
			{ 477, 32704, 32831, 32768, 32959 }, // 3楼 恶灵之主佣兵室
			{ 478, 32640, 32831, 32704, 32895 }, // 3楼 控制室走廊
			{ 480, 32576, 32895, 32768, 33023 }, // 海贼岛后半部
			{ 481, 32640, 32831, 32768, 32895 }, // 卡蜜拉的房间
			{ 482, 32576, 32831, 32704, 32895 }, // 福朗克的迷宫
			{ 483, 32640, 32895, 32704, 32959 }, // 迪哥的废弃监狱
			{ 484, 32704, 32895, 32704, 32895 }, // 豪势的地监
			{ 490, 32640, 32767, 32768, 32895 }, // 地下训练场
			{ 491, 32640, 32767, 32704, 32895 }, // 地下通道
			{ 492, 32704, 32895, 32768, 32895 }, // 暗杀军王之室
			{ 493, 32704, 32831, 32704, 32831 }, // 地下控制室
			{ 494, 32768, 32895, 32704, 32831 }, // 地下处刑场
			{ 495, 32704, 32895, 32704, 32895 }, // 地下竞技场
			{ 496, 32768, 32895, 32768, 32895 }, // 地下监狱
			{ 500, 32640, 32831, 32704, 32895 }, // 韩国活动地图
			{ 501, 32576, 33215, 32512, 32959 }, // v
			{ 502, 32576, 33215, 32576, 32959 }, // 韩国活动地图
			{ 503, 32576, 33215, 32576, 32959 }, // 韩国活动地图
			{ 504, 32576, 33215, 32576, 32959 }, // 韩国活动地图
			{ 505, 32576, 33215, 32576, 32959 }, // 韩国活动地图
			{ 506, 32512, 33215, 32576, 32959 }, // 韩国活动地图
			{ 507, 32704, 33023, 32768, 32959 }, // 韩国活动地图
			{ 508, 32768, 32895, 33088, 33215 }, // 韩国活动地图
			{ 509, 32704, 32767, 32768, 32831 }, // 混沌的大战
			{ 511, 32576, 33215, 32576, 32895 }, // 韩国活动地图
			{ 512, 32576, 33215, 32576, 32895 }, // 韩国活动地图
			{ 513, 32576, 33215, 32576, 32895 }, // 韩国活动地图
			{ 514, 32576, 33215, 32576, 32895 }, // 韩国活动地图
			{ 515, 32576, 33215, 32576, 32895 }, // 韩国活动地图
			{ 516, 32576, 33215, 32576, 32895 }, // 韩国活动地图
			{ 518, 32640, 32831, 32704, 32895 }, // 新增未知-----
			{ 521, 32576, 32767, 32832, 33023 }, // 暗影神殿外围
			{ 522, 32576, 32831, 32832, 32959 }, // 暗影神殿 1层
			{ 523, 32576, 32831, 32832, 32959 }, // 暗影神殿 2层
			{ 524, 32576, 32831, 32832, 32959 }, // 暗影神殿 3层
			{ 530, 32704, 32959, 32768, 32959 }, // 4楼 格兰肯神殿、长老·琪娜之室
			{ 531, 32704, 32895, 32704, 32959 }, // 4楼 长老·巴塔斯之室、长老·安迪斯之室
			{ 532, 32704, 32895, 32768, 32895 }, // 4楼 庭园广场、长老·艾迪尔之室
			{ 533, 32704, 32895, 32768, 33023 }, // 4楼 长老·泰玛斯之室、长老·拉曼斯之室、长老·巴陆德之室
			{ 534, 32704, 32959, 32768, 32895 }, // 4楼 长老会议厅、副神官·卡山德拉之室、真·冥皇丹特斯之室
			{ 535, 32576, 32895, 32704, 33023 }, // 黑暗妖精圣地
			{ 536, 32640, 32831, 32704, 32895 }, // 3楼 黑暗结界
			{ 541, 32640, 32831, 32768, 32895 }, // 巨蚁洞穴A
			{ 542, 32640, 32831, 32768, 32895 }, // 巨蚁洞穴B
			{ 543, 32704, 32895, 32704, 32895 }, // 巨蚁女皇洞穴
			{ 550, 32384, 32895, 32640, 33151 }, // 船舶之墓 海面
			{ 551, 32640, 32767, 32768, 32895 }, // 船舶之墓 船舱
			{ 552, 32704, 32767, 32768, 32895 }, // 船舶之墓 船舱
			{ 553, 32704, 32831, 32768, 32895 }, // 船舶之墓 船舱
			{ 554, 32704, 32831, 32768, 32895 }, // 船舶之墓 船舱
			{ 555, 32704, 32767, 32768, 32895 }, // 船舶之墓 船舱
			{ 556, 32704, 32831, 32768, 32895 }, // 船舶之墓 船舱
			{ 557, 32704, 32831, 32768, 32895 }, // 船舶之墓 船舱
			{ 558, 32704, 33215, 32768, 33279 }, // 船舶之墓 深海
			{ 600, 32640, 32895, 32704, 32895 }, // 欲望洞穴入口
			{ 601, 32640, 32959, 32704, 32959 }, // 欲望洞穴大厅
			{ 602, 32640, 32767, 32768, 32895 }, // 炎魔谒见所
			{ 603, 32640, 32767, 32768, 32895 }, // 炎魔房间
			{ 604, 32768, 32895, 32768, 32895 }, // 水之领域
			{ 605, 32704, 32959, 32704, 32959 }, // 火之领域
			{ 606, 32640, 32895, 32704, 32895 }, // 风之领域
			{ 607, 32640, 32895, 32768, 32959 }, // 地之领域
			{ 608, 32640, 32767, 32832, 32959 }, // 火焰之影实验室
			{ 610, 32640, 32895, 32704, 32959 }, // 日本活动地图樱花森林
			{ 611, 32640, 32895, 32640, 32831 }, // 日本活动地图训练营地
			{ 612, 32704, 32831, 32768, 32895 }, // 日本活动地图果子森林
			{ 613, 32640, 32895, 32768, 33023 }, // 奇怪之村落
			{ 620, 32768, 32831, 32768, 32831 }, // 新增未知-----
			{ 621, 32640, 32895, 32768, 32959 }, // 奇怪的村庄
			{ 630, 32704, 33023, 32768, 33087 }, // 天空之城
			{ 631, 32704, 33087, 32640, 33023 }, // 二次元空间
			{ 632, 32640, 32959, 32576, 32895 }, // 魔物管理室
			{ 666, 32640, 32831, 32704, 32895 }, // 地狱
			{ 701, 32576, 33023, 32512, 32959 }, // 追忆之岛
			// 追忆之岛 (702-724)
			{ 725, 33472, 33663, 32576, 32767 }, // 新增未知-----
			{ 726, 32640, 32767, 32832, 32959 }, // 新增未知-----
			{ 777, 32448, 32831, 32832, 33151 }, // 不死魔族抛弃之地
			{ 778, 32640, 32959, 32576, 33023 }, // 原生魔族抛弃之地地面
			{ 779, 32768, 33023, 32704, 32895 }, // 原生魔族抛弃之地海底
			{ 780, 32576, 32831, 32704, 33087 }, // 底比斯 沙漠
			{ 781, 32704, 33023, 32704, 32895 }, // 底比斯 金字塔内部
			{ 782, 32704, 32831, 32768, 32895 }, // 底比斯 欧西里斯祭坛
			{ 783, 32704, 33343, 32576, 32959 }, // 提卡尔神庙
			{ 784, 32704, 32831, 32832, 32895 }, // 库库尔坎祭坛
			{ 997, 32704, 32767, 32768, 32831 }, // Unknown
			{ 998, 32704, 32767, 32768, 32831 }, // Hall of Honor
			{ 1000, 32704, 32895, 32768, 32959 }, // 希培莉亚
			{ 1001, 32704, 32895, 32768, 32959 }, // 贝希摩斯
			{ 1002, 32576, 33087, 32512, 33023 }, // 被遗忘的龙之谷
			{ 1003, 32640, 32895, 32832, 32959 }, // 新增未知-----
			{ 1004, 32512, 32959, 32512, 32895 }, // 新增未知-----
			{ 1005, 32512, 33023, 32576, 33023 }, // 安塔瑞斯洞穴
			// 安塔瑞斯洞穴 (1006-1010)
			{ 1011, 32640, 33151, 32448, 32959 }, // 法利昂洞穴
			// 法利昂洞穴 (1012-1016)
			{ 1017, 32512, 33023, 32768, 33279 }, // 林德拜尔洞穴
			// 林德拜尔洞穴 (1018-1022)
			{ 1023, 32512, 32959, 32704, 33087 }, // 巴拉卡斯洞穴
			// 巴拉卡斯洞穴 (1024-1028)
			{ 2000, 32640, 32959, 32704, 33023 }, // 再生的圣所 1层-3层
			{ 2001, 32640, 32959, 32704, 33023 }, // 再生的圣所 1层-3层
			{ 2002, 32640, 32959, 32704, 33023 }, // 再生的圣所 1层-3层
			{ 2003, 32640, 32959, 32704, 33023 }, // 再生的圣所 1层-3层
			{ 2004, 32640, 32895, 32768, 32959 }, // 枯拉斯
			{ 2005, 32512, 32895, 32704, 33087 }, // 新隐藏之谷
			{ 2006, 32704, 32895, 32768, 32959 }, // 麦特斯的游园
			{ 5001, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5002, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5003, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5004, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5005, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5006, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5007, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5008, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5009, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5010, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5011, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5012, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5013, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5014, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5015, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5016, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5017, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5018, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5019, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5020, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5021, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5022, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5023, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5024, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5025, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5026, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5027, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5028, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5029, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5030, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5031, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5032, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5033, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5034, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5035, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5036, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5037, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5038, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5039, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5040, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5041, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5042, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5043, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5044, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5045, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5046, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5047, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5048, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5049, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5050, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5051, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5052, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5053, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5054, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5055, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5056, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5057, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5058, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5059, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5060, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5061, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5062, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5063, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5064, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5065, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5066, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5067, 32704, 32831, 32704, 32831 }, // 亚丁地下盟屋
			{ 5068, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5069, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5070, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5071, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5072, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5073, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5074, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5075, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5076, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5077, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5078, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5079, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5080, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5081, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5082, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5083, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5084, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5085, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5086, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5087, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5088, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5089, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5090, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5091, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5092, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5093, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5094, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5095, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5096, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5097, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5098, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5099, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5100, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5101, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5102, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5103, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5104, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5105, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5106, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5107, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5108, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5109, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5110, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5111, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5112, 32704, 32831, 32768, 32895 }, // 奇岩地下盟屋
			{ 5113, 32704, 32831, 32768, 32895 }, // 海音地下盟屋
			{ 5114, 32704, 32831, 32768, 32895 }, // 海音地下盟屋
			{ 5115, 32704, 32831, 32768, 32895 }, // 海音地下盟屋
			{ 5116, 32704, 32831, 32768, 32895 }, // 海音地下盟屋
			{ 5117, 32704, 32831, 32768, 32895 }, // 海音地下盟屋
			{ 5118, 32704, 32831, 32768, 32895 }, // 海音地下盟屋
			{ 5119, 32704, 32831, 32768, 32895 }, // 海音地下盟屋
			{ 5120, 32704, 32831, 32768, 32895 }, // 海音地下盟屋
			{ 5121, 32704, 32831, 32768, 32895 }, // 海音地下盟屋
			{ 5122, 32704, 32831, 32768, 32895 }, // 海音地下盟屋
			{ 5123, 32704, 32831, 32768, 32895 }, // 海音地下盟屋
			{ 5124, 32704, 32895, 32704, 32895 }, // 钓鱼池
			{ 5125, 32768, 32895, 32768, 32895 }, // 宠物战战场
			// 宠物战战场 (5126-5134)
			{ 5140, 32640, 32959, 32704, 32959 }, // 幽灵之家
			{ 5141, 32640, 32959, 32704, 32959 }, // 幽灵之家
			{ 5142, 32640, 32959, 32704, 32959 }, // 幽灵之家
			{ 5143, 32704, 32831, 32768, 32895 }, // 宠物竞速赛
			{ 5144, 32704, 32831, 32768, 32895 }, // 新增未知-----
			{ 5145, 32704, 32831, 32768, 32895 }, // 新增未知-----
			{ 5153, 32576, 32703, 32832, 32959 }, // 不知名地图
			{ 5166, 32704, 32831, 32768, 32895 }, // 回忆之地
			{ 5167, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5168, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5169, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5170, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5171, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5172, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5173, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5174, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5175, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5176, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5177, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5178, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5179, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5180, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5181, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5182, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5183, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5184, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5185, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5186, 32512, 32767, 32704, 32959 }, // 新恶魔王之领土
			{ 5187, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5188, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5189, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5190, 32512, 32767, 32704, 32959 }, // 恶魔王之领土
			{ 5191, 32704, 32895, 32768, 32959 }, // 象牙塔地下仓库
			{ 5192, 32704, 32895, 32768, 32959 }, // 象牙塔地下仓库
			{ 5193, 32704, 32895, 32768, 32959 }, // 象牙塔地下仓库
			{ 5194, 32704, 32895, 32768, 32959 }, // 象牙塔地下仓库
			{ 5195, 32704, 32895, 32768, 32959 }, // 象牙塔地下仓库
			{ 5196, 32704, 32895, 32768, 32959 }, // 象牙塔地下仓库
			{ 5197, 32704, 32895, 32768, 32959 }, // 象牙塔地下仓库
			{ 5198, 32704, 32895, 32768, 32959 }, // 象牙塔地下仓库
			{ 5199, 32704, 32895, 32768, 32959 }, // 象牙塔地下仓库
			{ 5200, 32704, 32895, 32768, 32959 }, // 新增未知-----
			{ 5300, 32640, 32895, 32704, 32959 }, // 新钓鱼池
			{ 5301, 32640, 32895, 32704, 32959 }, // 新钓鱼池
			{ 5302, 32640, 32895, 32704, 32959 }, // 新钓鱼池
			{ 5303, 32704, 32895, 32768, 32959 }, // 裂痕洞穴(51 ~ 65)
			// 5304 裂痕地监 (51 ~ 65)
			// 5383 裂痕地监 (51 ~ 65)
			{ 5384, 32704, 32895, 32640, 32831 }, // 裂痕洞穴(66 ~ 75)
			// 5385 裂痕地监 (66 ~ 75)
			// 5434 裂痕地监 (66 ~ 75)
			{ 5435, 32704, 32959, 32704, 32959 }, // 裂痕洞穴(76 ~ 100)
			// 5436 裂痕地监 (76 ~ 100)
			// 5455 裂痕地监 (76 ~ 100)
			{ 5501, 32704, 32959, 32832, 33087 }, // 万圣节 魔女村庄(国内)
			// 5502 万圣节 魔女村庄(国内)
			// 5550 万圣节 魔女村庄(国内)
			{ 6041, 32768, 32895, 32768, 32895 }, // 极恶之地
			{ 7100, 32704, 32959, 32832, 33087 }, // 万圣节 魔女村庄(海外)
			// 7101 万圣节 魔女村庄(海外)
			// 7130 万圣节 魔女村庄(海外)
			{ 9000, 32576, 32895, 32640, 33023 }, // 过去的说话之岛
			// 9001 过去的说话之岛
			// 9099 过去的说话之岛
			{ 9100, 32704, 32767, 32832, 32895 }, // 象牙塔秘密研究室
			{ 9101, 32640, 32831, 32768, 32895 }, // 精气船甲板
			// 9102 过去的秘密研究所
			// 9199 过去的秘密研究所
			{ 16384, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 16896, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 17408, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 17920, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 18432, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 18944, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 19456, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 19968, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 20480, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 20992, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 21504, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 22016, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 22528, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 23040, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 23552, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 24064, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 24576, 32704, 32767, 32768, 32831 }, // 旅馆房间
			{ 25088, 32704, 32767, 32768, 32831 } // 旅馆房间
	};

	/**
	 * 传回所有地图的编号
	 * 
	 * @return ArraryList
	 */
	public static List<Integer> listMapIds() {
		final List<Integer> ids = Lists.newList();

		final File mapDir = new File(MAP_DIR);
		for (final String name : mapDir.list()) {
			final File mapFile = new File(mapDir, name);
			if (!mapFile.exists()) {
				continue;
			}
			if (!FileUtil.getExtension(mapFile).toLowerCase().equals("txt")) {
				continue;
			}
			int id = 0;
			try {
				final String idStr = FileUtil.getNameWithoutExtension(mapFile);
				id = Integer.parseInt(idStr);
			}
			catch (final NumberFormatException e) {
				continue;
			}
			ids.add(id);
		}
		return ids;
	}

	/**
	 * 取得所有地图与编号的 Mapping
	 * 
	 * @return Map
	 * @throws IOException
	 */
	@Override
	public Map<Integer, L1Map> read() throws IOException {
		final Map<Integer, L1Map> maps = Maps.newMap();

		for (final int[] info : MAP_INFO) {
			final int mapId = info[MAPINFO_MAP_NO];
			final int xSize = info[MAPINFO_END_X] - info[MAPINFO_START_X] + 1;
			final int ySize = info[MAPINFO_END_Y] - info[MAPINFO_START_Y] + 1;

			try {
				final L1V1Map map = new L1V1Map((short) mapId, this.read(mapId, xSize, ySize), info[MAPINFO_START_X], info[MAPINFO_START_Y], MapsTable.getInstance().isUnderwater(mapId), MapsTable.getInstance().isMarkable(mapId), MapsTable.getInstance().isTeleportable(mapId),
						MapsTable.getInstance().isEscapable(mapId), MapsTable.getInstance().isUseResurrection(mapId), MapsTable.getInstance().isUsePainwand(mapId), MapsTable.getInstance().isEnabledDeathPenalty(mapId), MapsTable.getInstance().isTakePets(mapId), MapsTable
								.getInstance().isRecallPets(mapId), MapsTable.getInstance().isUsableItem(mapId), MapsTable.getInstance().isUsableSkill(mapId));

				maps.put(mapId, map);
			}
			catch (final IOException e) {
				_log.log(Level.SEVERE, e.getLocalizedMessage(), e);
			}
		}

		return maps;
	}

	/**
	 * 读取指定编号的地图
	 * 
	 * @param id
	 *            地图编号
	 * @return L1Map
	 * @throws IOException
	 */
	@Override
	public L1Map read(final int id) throws IOException {
		for (final int[] info : MAP_INFO) {
			final int mapId = info[MAPINFO_MAP_NO];
			final int xSize = info[MAPINFO_END_X] - info[MAPINFO_START_X] + 1;
			final int ySize = info[MAPINFO_END_Y] - info[MAPINFO_START_Y] + 1;

			if (mapId == id) {
				final L1V1Map map = new L1V1Map((short) mapId, this.read(mapId, xSize, ySize), info[MAPINFO_START_X], info[MAPINFO_START_Y], MapsTable.getInstance().isUnderwater(mapId), MapsTable.getInstance().isMarkable(mapId), MapsTable.getInstance().isTeleportable(mapId),
						MapsTable.getInstance().isEscapable(mapId), MapsTable.getInstance().isUseResurrection(mapId), MapsTable.getInstance().isUsePainwand(mapId), MapsTable.getInstance().isEnabledDeathPenalty(mapId), MapsTable.getInstance().isTakePets(mapId), MapsTable
								.getInstance().isRecallPets(mapId), MapsTable.getInstance().isUsableItem(mapId), MapsTable.getInstance().isUsableSkill(mapId));
				return map;
			}
		}
		throw new FileNotFoundException("地图编号: " + id);
	}

	/**
	 * 依照输入大小读取指定编号地图
	 * 
	 * @param mapId
	 *            地图编号
	 * @param xSize
	 *            X座标大小
	 * @param ySize
	 *            Y座标大小
	 * @return byte[][]
	 * @throws IOException
	 */
	public byte[][] read(final int mapId, final int xSize, final int ySize) throws IOException {
		final byte[][] map = new byte[xSize][ySize];
		final LineNumberReader in = new LineNumberReader(new BufferedReader(new FileReader(MAP_DIR + mapId + ".txt")));

		int y = 0;
		String line;
		while ((line = in.readLine()) != null) {
			if ((line.trim().length() == 0) || line.startsWith("#")) {
				continue; // 跳过空行与注解
			}

			int x = 0;
			final StringTokenizer tok = new StringTokenizer(line, ",");
			while (tok.hasMoreTokens()) {
				final byte tile = Byte.parseByte(tok.nextToken());
				map[x][y] = tile;

				x++;
			}
			y++;
		}
		in.close();
		return map;
	}
}
